﻿Public Class xtf_ABMdireccion
    Public obj_direccion As cls_direccion_ = Nothing
    Private col_ControlesValidar As List(Of Control)

    Public Sub New()
        InitializeComponent()
        CargarTipoDireccion_()
        CargarPais_()
        Me.Text = "Dirección - Nuevo"
        obj_direccion = New cls_direccion_
        AgregarValidacionesGlobal(Me, Me.lac_general, col_ControlesValidar)
    End Sub

    Private Sub CargarTipoDireccion_()
        Dim tipodireccion_ As New cls_tipodireccion_
        tipodireccion_.CargarTodos()
        cargarCombo(cbo_TipoDireccion, tipodireccion_.Items)
    End Sub

    Private Sub CargarPais_()
        Dim pais_ As New cls_pais_
        pais_.CargarTodos()
        cargarCombo(cbo_Pais, pais_.Items, False)
        cbo_Pais.EditValue = Nothing
    End Sub

    Private Sub CargarProvincia_()
        Dim provincia_ As New cls_provincia_
        provincia_.CargarXidpais(cbo_Pais.EditValue)
        cargarCombo(cbo_Provincia, provincia_.Items, False)
        cbo_Provincia.EditValue = Nothing
    End Sub

    Private Sub CargarLocalidad_()
        Dim localidad_ As New cls_localidad_
        localidad_.CargarXidprovincia(cbo_Provincia.EditValue)
        cargarCombo(cbo_Localidad, localidad_.Items, False)
        cbo_Localidad.EditValue = Nothing
    End Sub

    Private Sub CargarBarrio_()
        Dim barrio_ As New cls_barrio_
        barrio_.CargarXidlocalidad(cbo_Localidad.EditValue)
        cargarCombo(cbo_Barrio, barrio_.Items, False)
        cbo_Barrio.EditValue = Nothing
    End Sub

    Public Sub Modificar(ByRef direccion As cls_direccion_)
        If IsNothing(obj_direccion) Then
            obj_direccion = New cls_direccion_
        End If
        obj_direccion = direccion

        Me.Text = "Dirección - " & obj_direccion.ToString
        'txt_ID.Text = obj_localidad.idlocalidad
        cbo_TipoDireccion.EditValue = obj_direccion.idtipodireccion
        cbo_Pais.EditValue = obj_direccion.idpais
        cbo_Provincia.EditValue = obj_direccion.idprovincia
        cbo_Localidad.EditValue = obj_direccion.idlocalidad
        cbo_Barrio.EditValue = obj_direccion.idbarrio

        txt_Domicilio.Text = obj_direccion.domicilio
        txt_Altura.Text = obj_direccion.altura
        txt_Piso.Text = obj_direccion.piso
        txt_Departamento.Text = obj_direccion.departamento
        txt_Observaciones.Text = obj_direccion.observaciones
        txt_CodigoPostal.Text = obj_direccion.codigopostal

        obj_direccion.tipodireccion = Nothing
        obj_direccion.pais = Nothing
        obj_direccion.provincia = Nothing
        obj_direccion.localidad = Nothing
        obj_direccion.barrio = Nothing

    End Sub

    Public Function ComprobarDatos() As Boolean
        'If cbo_TipoDireccion.Enabled = False Then
        '    ErrManagerShow("001018")
        '    Return False
        'End If
        If Not ControlarValidacionesGlobal(col_ControlesValidar) Then
            ErrManagerShow("000004", Me)
            Return False
        End If
        Return True
    End Function

    Private Sub btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Guardar.Click
        If ComprobarDatos() Then
            obj_direccion.idtipodireccion = cbo_TipoDireccion.EditValue

            obj_direccion.idpais = cbo_Pais.EditValue
            obj_direccion.idprovincia = cbo_Provincia.EditValue
            obj_direccion.idlocalidad = cbo_Localidad.EditValue
            obj_direccion.idbarrio = cbo_Barrio.EditValue
            obj_direccion.domicilio = txt_Domicilio.Text
            obj_direccion.altura = txt_Altura.Text
            obj_direccion.piso = txt_Piso.Text
            obj_direccion.departamento = txt_Departamento.Text
            obj_direccion.observaciones = txt_Observaciones.Text
            obj_direccion.codigopostal = txt_CodigoPostal.Text

            Me.DialogResult = Windows.Forms.DialogResult.OK
        End If
    End Sub

    Private Sub btn_Cerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cerrar.Click
        Me.DialogResult = Windows.Forms.DialogResult.Cancel
    End Sub

    Private Sub cbo_Pais_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_Pais.EditValueChanged
        CargarProvincia_()
    End Sub

    Private Sub cbo_Provincia_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_Provincia.EditValueChanged
        CargarLocalidad_()
    End Sub

    Private Sub cbo_Localidad_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_Localidad.EditValueChanged
        CargarBarrio_()
    End Sub

    Private Sub cbo_Pais_ButtonClick(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles cbo_Pais.ButtonClick
        If e.Button.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Delete Then
            cbo_Pais.EditValue = Nothing
            cbo_Provincia.EditValue = Nothing
            cbo_Localidad.EditValue = Nothing
            cbo_Barrio.EditValue = Nothing
        End If
    End Sub

    Private Sub cbo_Provincia_ButtonClick(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles cbo_Provincia.ButtonClick
        If e.Button.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Delete Then
            cbo_Provincia.EditValue = Nothing
            cbo_Localidad.EditValue = Nothing
            cbo_Barrio.EditValue = Nothing
        End If
    End Sub

    Private Sub cbo_Localidad_ButtonClick(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles cbo_Localidad.ButtonClick
        If e.Button.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Delete Then
            cbo_Localidad.EditValue = Nothing
            cbo_Barrio.EditValue = Nothing
        End If
    End Sub

    Private Sub cbo_Barrio_ButtonClick(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles cbo_Barrio.ButtonClick
        If e.Button.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Delete Then
            cbo_Barrio.EditValue = Nothing
        End If
    End Sub


End Class